|
RN4020によるBluetooth BLE
PIC32MZ間MLDP送受信
|
|
2020.02.02 PIC情報交換会資料 |
|
YS電子工作デザイン http://www.ys-labo.com/ 斎藤 |
|
YS電子工作ショップ http://ys-labo.shop-pro.jp/ |
|
|
1. |
システム概要 |
|
Bluetooth:
・モード …… BLE、MLDP(Microchip Low Energy Data Protocol) プロファイル……SPP
・無線モジュール: マイクロチップ製 RN4020 x2
・セントラル側: PIC32MZ2048EFH100-RN4020
・ペリフェラル側: 同上

開発環境
・PIC: Harmony v.2.04 XC32 v2.10
送受信データのモニタ
・ キャラクタ液晶(4bitシリアルインターフェース 及びI2Cインターフェース)
・ Tera Term(UART受信割り込みデータをPC画面でモニタ)
備考
・RN4020の実験部品としてマイクロエレクトロニカ(株)の BLE2 Click(mikro Busインターフェース)を使用
・実験用としてmikro Busモジュールを5個取り付けられる専用キバンを使用
|
2. |
デモ要約
上記ブロック図のPIC32MZ間で、RN4020を使用したBluetooth経由➀~③を実行する。
➀ セントラル側のスイッチを ON/OFFすることにより、ペリフェラルのLEDを点灯/消灯する
逆に、ペリフェラル側のスイッチを ON/OFFすることにより、セントラル側のLEDを点灯/消灯する
➁ セントラル側の可変抵抗器の電圧値を、ペリフェラル側のキャラクタ液晶にも表示する。
逆に、ペリフェラル側の可変抵抗器の電圧値を、セントラル側のキャラクタ液晶にも表示する
③ 以下の文字列の送受信
|
送信文字列 |
文字列 |
セントラル→
ペリフェラル |
"#01 Hellow !! This is MZ_peri1 using MLDP mode of RN4020. Can you
receive this text data ? \r\n" |
ペリフェラル
→セントラル |
"#01 Hallo! This is MZ_peri1. I have received your text data. How
are you ?\r\n" |
セントラル→
ペリフェラル |
"#02 I am fine. Thank you for response.\r\n" |
|
④ RN4020の初期化、接続 及び➀~③に於けるコマンドやデータ信号をPCで Tera Term x 2画面に表示する。
|
|
|
3. |
回路図(→PDFファイル) |
|
|
4. |
試作品外観 |
1.システム全体 |
2. RN4020部拡大 |
 |
 |
|
|
|
4. |
動作結果 |
|
➀ 動画 → YouTube (1080pのHD動画) |
|
|
|
|
|
➁ PC ウィンドウ - PIC間 送受信 |
|
ペリフェラル側SWによる
セントラル側 LED
ON/OFF |
LED: ON |
LED: OFF |
 |
 |
可変抵抗器
電圧モニタ |
ペリフェラル側 VR操作
約0.9v |
セントラル側 VR操作
約1.0v |
 |
 |
文字列送受信
Tera Term 画面 |
上側(COM3): ペリフェラル側受信モニタ
下側(COM4): セントラル側受信モニタ |
 |
|
|
5. |
参考 |
|
5.1 MLDPの特徴
・UARTシリアル通信のTX,RXの感覚で通信ができる。
・通信が安定していて送受信で切断が発生しない。(ハードウェアフロー制御がMLDPでサポートされている)
(注)BLEのSPPプロトコルの場合
1. 送信手順が面倒(キャラクタリスティックへ書き込み→ノーティフィケーションによる告知)
2. キャラクタリスティック最大容量:20バイト、RN4020の場合独自キャラクタリスティックは10個
3. 送受信データは、ASCIIコードは使えず16進データに変換しデータで送受信を行う。
(例)送信データ "Japan" → CHW,0011,4A6170616E |
|
|
|
5.2 プロジェクトファイル |
|
|
|
|
|
5.3 YS電子工作ラボHP での紹介( → URL ) |
|
|